Most motor controllers on the market are of the pulse-width-modulated (PWM) type. This goes for products from Danfoss Drives NS, such as the VLT® 5000, the VLT® 2800, the VLT® AutomationDrive FC 30× and the VLT® Micro Drive FC 51. Products like these generate a set of 3-phase PWM voltages displaced 120° in time, with a variable amplitude and frequency, for feeding variable-speed AC-motors with balanced, 3-phase sinusoidal phase currents. The phase currents contain a fundamental component delivering the shaft power to the motor, and some undesirable ripple currents or high-frequency harmonics present at the switching frequency and at higher frequencies.
Typically, the switching frequency should be 10 to 100 times higher than the fundamental motor frequency to get a satisfactory resolution. The ripple currents originate from the PWM voltages emulating a 3-phase sinusoidal voltage system in average over a fundamental period of the motor. The fundamentals of how to generate these voltages are well-known. An original reference on this topic is the paper “Stator Flux Oriented Asynchronous Vector Modulation for AC-Drives” by P. Thøgersen and J. K. Pedersen presented at the Power Electronics Specialists Conference (PESC), 11-14 Jun. 1990 (Digital Object Identifier 10.1109/PESC.1990.131249). Employing the principles in this paper, the idea is to let a processing unit, such as a DSP, a micro controller or an ASIC generate 6 PWM signals controlling the typical 6 switching elements (T1 to T6) in the inverter part of the motor controller. Each of the 3 phase legs of the inverter part consists of a pair of series coupled switching elements, which can either be on or off. The switching elements are never on at the same time, meaning that the PWM signal for the low-side switching element is in anti-phase with the PWM signal for the high-side switching element always. Hence, the processing unit basically has to generate 3 PWM signals only, because the generation of the 3 others is trivial. Typically, the low-side PWM signals are generated by inverting the high-side PWM signals.
The most frequent implementation of a PWM modulation strategy in a processing unit is to update all PWM signals at the switching-period rate. This means that each duty cycle varies from one switching period to the next, with the object of emulating the sinusoidal fundamental component. Here, the duty cycle of a switching element equals the on-time of said switching element within a switching period divided by the switching period.
This gives a heavy load on the processing unit, especially if the switching frequency is altered from a usual value, such as 2-5 kHz, to a high value of more than 10 kHz. A switching frequency of 16 kHz is a typical setting for motor controllers in applications where minimization of the well-known, high-frequency acoustic-noise emission from the motor originating from the PWM voltages (ripple components) is important. Some processing units are able to handle the load at the expense of increased costs.
If a low-cost processing unit is used, a known way to deal with the calculation burden is to keep all the complex sinusoidal PWM calculations given in the above PESC'90 paper at a low rate, such as 4 kHz. Hence, this gives a set of PWM signals with a frequency of 4 kHz and accompanying optimized duty cycles. Now, if each duty cycle is simply divided by 4, and reused over 4 switching cycles in a row having a switching frequency of 16 kHz, then a lot of calculation power is saved. This “reuse method” is of course not as good as doing the sinusoidal calculations at the 16 kHz rate in terms of having minimum current ripples in the motor etc., but to suppress acoustic-noise emission it is an adequate solution. When applying the “reuse method” one can define the calculations as being executed at a control frequency level, but the actual PWM voltages are executed at a switching frequency level, which is always higher than the control frequency level.
Returning to the art of PWM modulation a known problem is that, if the duty cycle of a PWM signal goes either too small (close to zero) or too close to the boundaries of the PWM period (close to unity), then the corresponding switching element is either turned off and turned on again, or turned on and turned off again, within a very short time period. This is not an acceptable operation mode of a physical switching element, such as an IGBT or MOSFET transistor. To avoid these borderline effects, a known method is to implement a minimum pulse filter in the PWM calculations. The procedure is as follows. If a duty cycle goes too small, then said duty cycle is not used. Instead the duty cycle is set to zero (“it is being filtered”) and an error is calculated. This error is added to the duty cycle in the next PWM period (“it is being corrected”). Hence, the correct voltage×second product is maintained as seen from a fundamental-period perspective. Likewise, if the duty cycle goes too large, then said duty cycle is not used. Instead the duty cycle is set to unity (“it is being filtered”), and the introduced error is subtracted from the duty cycle calculated in the next PWM period (“it is being corrected”).
Now, if this standard minimum-pulse-filtering method is used in connection with the “reuse method” described above, a problem occurs in that the filtering and correction will then be executed at a 4 kHz rate. Such filtering/correction can undoubtedly be observed by the human ear as acoustical noise from the motor. In addition, a 4 kHz distortion of the phase currents is observed due to the fact that, the minimum-pulse-filter time becomes relatively large, as the switching frequency is raised. If the switching frequency is 16 kHz and the minimum-pulse-filter time is 3 μs, then the relative impact is 100×3 μs×16 kHz=5%.
It may be seen as an object of the present invention to provide a low-cost method and corresponding system for providing an electric control PWM signal for controlling one more switching elements of an inverter for driving an electric machine, such as an AC-motor or a DC-motor.